import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    list:[],//任务列表，[{id:1,name:'张三',status:false},...]
  },
  getters: {//定义计算方法(类似于组件的计算属性)
    //计算方法的参数一：数据仓库对象中的state
    unFinishCount(state){//统计未完成的任务数量
      var arr = state.list.filter((item)=>{
        return item.status == false;
      })
      return arr.length;
    }
  },
  mutations: {
    addTask(state,payload){
      //构建一个新的任务对象，status属性表示任务的状态(true 已完成 false：未完成)
        var obj = {id:state.list.length+1,name:payload,status:false};
        state.list.push(obj);//添加到任务列表中
        
    },
    changeStatus(state,payload){
      //查找需要修改状态的那个任务对象
      var fi = state.list.find((item)=>{
        return item.id == payload.id;
      });
      if (fi){//判断是否查找到
        fi.status = !fi.status
      }
    },
    del(state,payload){
      state.list.splice(payload,1);
    }
  },
  actions: {
  },
  modules: {
  }
})
